package cn.topevery.garden.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.topevery.garden.entity.po.GreFile;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 古树名木记录表 视图
 *
 * @author code-generate
 * @date 2022-01-05
 */
@Data
@ApiModel(value = "GreTreeFamousRecord 视图", description = "古树名木记录表 视图")
public class GreTreeFamousRecordVO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

        /**
     * treeFamous  c_id
     */
    @ApiModelProperty(value = "treeFamous  c_id")
    @Excel(name = "treeFamous  c_id", orderNum = "0")
    private Integer treeIntId;

    /**
     * UUID
     */
    @ApiModelProperty(value = "UUID")
    @Excel(name = "UUID", orderNum = "0")
    private String treeId;

    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    @Excel(name = "编号", orderNum = "0")
    private String code;

    /**
     * 中文名
     */
    @ApiModelProperty(value = "中文名")
    @Excel(name = "中文名", orderNum = "0")
    private String name;

    /**
     * 拉丁名
     */
    @ApiModelProperty(value = "拉丁名")
    @Excel(name = "拉丁名", orderNum = "0")
    private String nameLatin;

    /**
     * 树种
     */
    @ApiModelProperty(value = "树种")
    @Excel(name = "树种", orderNum = "0")
    private String treeKind;

    /**
     * 属名
     */
    @ApiModelProperty(value = "属名")
    @Excel(name = "属名", orderNum = "0")
    private String treeAttr;

    /**
     * 树高
     */
    @ApiModelProperty(value = "树高")
    @Excel(name = "树高", orderNum = "0")
    private Double treeHeight;

    /**
     * 年龄
     */
    @ApiModelProperty(value = "年龄")
    @Excel(name = "年龄", orderNum = "0")
    private Integer treeOld;

    /**
     * 街道Id
     */
    @ApiModelProperty(value = "街道Id")
    @Excel(name = "街道Id", orderNum = "0")
    private String streetId;

    /**
     * 街道
     */
    @ApiModelProperty(value = "街道")
    @Excel(name = "街道", orderNum = "0")
    private String streetName;

    /**
     * 区域id
     */
    @ApiModelProperty(value = "区域id")
    @Excel(name = "区域id", orderNum = "0")
    private String distractId;

    /**
     * 区域名称
     */
    @ApiModelProperty(value = "区域名称")
    @Excel(name = "区域名称", orderNum = "0")
    private String distractName;

    /**
     * 树木状态
     */
    @ApiModelProperty(value = "树木状态")
    @Excel(name = "树木状态", orderNum = "0")
    private String treeState;

    /**
     * 俗名
     */
    @ApiModelProperty(value = "俗名")
    @Excel(name = "俗名", orderNum = "0")
    private String nameComm;

    /**
     * 特点
     */
    @ApiModelProperty(value = "特点")
    @Excel(name = "特点", orderNum = "0")
    private String treeTrait;

    /**
     * 调查号
     */
    @ApiModelProperty(value = "调查号")
    @Excel(name = "调查号", orderNum = "0")
    private String examineCode;

    /**
     * 名木类别 1 古树
     */
    @ApiModelProperty(value = "名木类别 1 古树")
    @Excel(name = "名木类别 1 古树", orderNum = "0")
    private Integer famousTypeId;

    /**
     * 名木类别
     */
    @ApiModelProperty(value = "名木类别")
    @Excel(name = "名木类别", orderNum = "0")
    private String famousTypeName;

    /**
     * 栽植人
     */
    @ApiModelProperty(value = "栽植人")
    @Excel(name = "栽植人", orderNum = "0")
    private String plantUser;

    /**
     * 栽植时间
     */
    @ApiModelProperty(value = "栽植时间")
    @Excel(name = "栽植时间", orderNum = "0")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime plantDate;

    /**
     * 养护单位ID
     */
    @ApiModelProperty(value = "养护单位ID")
    @Excel(name = "养护单位ID", orderNum = "0")
    private byte[] maintainDeptId;

    /**
     * 养护单位
     */
    @ApiModelProperty(value = "养护单位")
    @Excel(name = "养护单位", orderNum = "0")
    private String maintainDept;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人")
    @Excel(name = "联系人", orderNum = "0")
    private String maintainUser;

    /**
     * 社区Id
     */
    @ApiModelProperty(value = "社区Id")
    @Excel(name = "社区Id", orderNum = "0")
    private String communityId;

    /**
     * 社区
     */
    @ApiModelProperty(value = "社区")
    @Excel(name = "社区", orderNum = "0")
    private String communityName;

    /**
     * 生长场所
     */
    @ApiModelProperty(value = "生长场所")
    @Excel(name = "生长场所", orderNum = "0")
    private String growPlace;

    /**
     * 坐标X
     */
    @ApiModelProperty(value = "坐标X")
    @Excel(name = "坐标X", orderNum = "0")
    private Double lng;

    /**
     * 坐标Y
     */
    @ApiModelProperty(value = "坐标Y")
    @Excel(name = "坐标Y", orderNum = "0")
    private Double lat;

    /**
     * 胸径
     */
    @ApiModelProperty(value = "胸径")
    @Excel(name = "胸径", orderNum = "0")
    private Double treeWidth;

    /**
     * 保护级别 1：一级 2： 二级 3： 三级
     */
    @ApiModelProperty(value = "保护级别 1：一级 2： 二级 3： 三级")
    @Excel(name = "保护级别 1：一级 2： 二级 3： 三级", orderNum = "0")
    private Integer protectLevel;

    /**
     * 保护级别
     */
    @ApiModelProperty(value = "保护级别")
    @Excel(name = "保护级别", orderNum = "0")
    private String protectLevelName;

    /**
     * 生长环境
     */
    @ApiModelProperty(value = "生长环境")
    @Excel(name = "生长环境", orderNum = "0")
    private String growAmbient;

    /**
     * 地围
     */
    @ApiModelProperty(value = "地围")
    @Excel(name = "地围", orderNum = "0")
    private Double dewei;

    /**
     * 平均冠幅
     */
    @ApiModelProperty(value = "平均冠幅")
    @Excel(name = "平均冠幅", orderNum = "0")
    private Double avgCrown;

    /**
     * 东西冠幅
     */
    @ApiModelProperty(value = "东西冠幅")
    @Excel(name = "东西冠幅", orderNum = "0")
    private Double eastWestCrown;

    /**
     * 南北冠幅
     */
    @ApiModelProperty(value = "南北冠幅")
    @Excel(name = "南北冠幅", orderNum = "0")
    private Double northSouthCrown;

    /**
     * 海拔
     */
    @ApiModelProperty(value = "海拔")
    @Excel(name = "海拔", orderNum = "0")
    private Double altitude;

    /**
     * 坡向
     */
    @ApiModelProperty(value = "坡向")
    @Excel(name = "坡向", orderNum = "0")
    private String aspect;

    /**
     * 坡度
     */
    @ApiModelProperty(value = "坡度")
    @Excel(name = "坡度", orderNum = "0")
    private String slope;

    /**
     * 地位
     */
    @ApiModelProperty(value = "地位")
    @Excel(name = "地位", orderNum = "0")
    private String status;

    /**
     * 土壤
     */
    @ApiModelProperty(value = "土壤")
    @Excel(name = "土壤", orderNum = "0")
    private String soil;

    /**
     * 紧密度
     */
    @ApiModelProperty(value = "紧密度")
    @Excel(name = "紧密度", orderNum = "0")
    private String tightness;

    /**
     * 古树历史
     */
    @ApiModelProperty(value = "古树历史")
    @Excel(name = "古树历史", orderNum = "0")
    private String history;

    /**
     * 鉴定记载
     */
    @ApiModelProperty(value = "鉴定记载")
    @Excel(name = "鉴定记载", orderNum = "0")
    private String record;

    /**
     * 树木状态
     */
    @ApiModelProperty(value = "树木状态")
    @Excel(name = "树木状态", orderNum = "0")
    private Integer treeStatus;

    /**
     * 群落编号
     */
    @ApiModelProperty(value = "群落编号")
    @Excel(name = "群落编号", orderNum = "0")
    private String communityCode;

    /**
     * 是否防护 0: false 1: true
     */
    @ApiModelProperty(value = "是否防护 0: false 1: true")
    @Excel(name = "是否防护 0: false 1: true", orderNum = "0")
    private Boolean isProtect;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    @Excel(name = "描述", orderNum = "0")
    private String desc;

    /**
     * 版本 1 当前 0 历史
     */
    @ApiModelProperty(value = "版本 1 当前 0 历史")
    @Excel(name = "版本 1 当前 0 历史", orderNum = "0")
    private Integer isNew;

    /**
     * 数据发布 0 false 1 ture
     */
    @ApiModelProperty(value = "数据发布 0 false 1 ture")
    @Excel(name = "数据发布 0 false 1 ture", orderNum = "0")
    private Boolean dataPublic;

    /**
     * 年份/用来判断树龄
     */
    @ApiModelProperty(value = "年份/用来判断树龄")
    @Excel(name = "年份/用来判断树龄", orderNum = "0")
    private Integer year;

    /**
     * 台账编号
     */
    @ApiModelProperty(value = "台账编号")
    @Excel(name = "台账编号", orderNum = "0")
    private String codeTwo;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    @Excel(name = "审核状态", orderNum = "0")
    private Boolean state;

    @ApiModelProperty(value = "附件")
    private List<GreFile> fileList;
}
